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

Dave Anderson anderson at redhat.com
Fri Feb 24 21:41:29 UTC 2006


Kris Corwin wrote:

> I built the crash driver into the kernel instead of as a module.
>
> I have now hacked devmem_is_allowed() to always
> return 1 and am waiting for a build to see if that solved my problem.
>
> Kris
>
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility

Where there's a will there's a way...

Another thing you might try is this:

  # crash --memory_module /dev/crash vmlinux

That might work... and if it does, it's better than /dev/mem because
even with devmem_is_allowed() hacked, the mem.c driver only allows
access to lowmem, which may be a problem if you want to debug
kernel modules whose vmalloc'd memory comes from highmem.

Either that, or also hack the mem.c driver's valid_phys_addr_range()
function to allow physical addresses greater than "high_memory":

static inline int valid_phys_addr_range(unsigned long addr, size_t *count)
{
         unsigned long end_mem;

         end_mem = __pa(high_memory);
         if (addr >= end_mem)
                 return 0;

         if (*count > end_mem - addr)
                 *count = end_mem - addr;

         return 1;
}


Dave





More information about the Crash-utility mailing list