Re: [Crash-utility] crash can't read vmlinux on live system?

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

 



Kris Corwin wrote:

> > First, is the vmlinuz that the kernel is running created from the ./vmlinux
> > file that you're using as an argument?
>
> yes.
>
> > I'm guessing that it continued on and complained
> > about not being able to read the the linux_banner string, and then died?
>
> crash exited right after what I posted.
>
> I can run crash on 2.6.9-11 kernels, but not 2.6.9-22.
>
> Here's the -d run.  It looks like I have a memory read issue.
>
> [root@f14 linux-2.6.9-22.0.2.EL]# crash -d7 ./vmlinux
>
> crash 4.0-2
> Copyright (C) 2002, 2003, 2004, 2005  Red Hat, Inc.
> Copyright (C) 2004, 2005  IBM Corporation
> Copyright (C) 1999-2005  Hewlett-Packard Co
> Copyright (C) 1999, 2002  Silicon Graphics, Inc.
> Copyright (C) 1999, 2000, 2001, 2002  Mission Critical Linux, Inc.
> This program is free software, covered by the GNU General Public License,
> and you are welcome to change it and/or distribute copies of it under
> certain conditions.  Enter "help copying" to see the conditions.
> This program has absolutely no warranty.  Enter "help warranty" for details.
>
> get_live_memory_source: /dev/mem
> /proc/version:
> Linux version 2.6.9-prep.qp2.2.5.11.3qsnet (root@f15) (gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-20)) #3 SMP Tue Feb 21 15:12:39 EST 2006
> ./vmlinux:
> Linux version 2.6.9-prep.qp2.2.5.11.3qsnet (root@f15) (gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-20)) #3 SMP Tue Feb 21 15:12:39 EST 2006
> <readmem: c0153373, KVADDR, "x86_omit_frame_pointer", 4, (ROE), bff71420>
> /dev/mem: Operation not permitted
> crash: read(/dev/mem, 153373, 0): 4 (ffffffff)
> crash: read error: kernel virtual address: c0153373  type: "x86_omit_frame_pointer"
> <readmem: c0439d10, KVADDR, "xtime", 8, (FOE), 8349634>
> /dev/mem: Operation not permitted
> crash: read(/dev/mem, 439d10, 0): 8 (ffffffff)
> crash: read error: kernel virtual address: c0439d10  type: "xtime"
> [root@f14 linux-2.6.9-22.0.2.EL]# whoami
> root
> [root@f14 linux-2.6.9-22.0.2.EL]# ls -l /dev/mem
> crw-r-----  1 root kmem 1, 1 Feb 22 06:31 /dev/mem

Ok, a couple of things.

Red Hat kernels have restricted /dev/mem drivers which only allow
reads of the first 1MB of physcal address space.  For that reason
RHEL (and Fedora) kernels have an additional /dev/crash driver
(in ./drivers/char/crash.c) that replaces /dev/mem.  It's a "misc"
driver, only used for x86 and x86_64 kernels, and is dynamically
modprobe'd by crash.

The debug output from your crash session attempt shows two
things of interest:

> get_live_memory_source: /dev/mem

so the /dev/crash driver is not available from that kernel, which
is the second point of interest:

> /proc/version:
> Linux version 2.6.9-prep.qp2.2.5.11.3qsnet (root@f15)...

So the question is whether the mem.c driver in that kernel is
based upon the Red Hat restricted mem.c, or is restricted
otherwise.  AFAIK, the upstream drivers/char/mem.c does
not return EPERM from its read_mem() function.

> /dev/mem: Operation not permitted

but the restricted Red Hat mem.c does.  In any case, it all
comes down to why /dev/mem is not allowing read attempts.

Dave



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

 

Powered by Linux