Dave, thanks for your help. The kernel hack appears
to be working. I also wrote down the "--memory_module"
trick as a backup.
Kris
Dave Anderson wrote:
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(a)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
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility