I tested your latest patch on the sample ARM and ARM64 RAM dumps
you sent me.
As far as the patch itself is concerned, I ran into a problem
where if crash is invoked in a directory where it does not have
write permission, the session hangs trying to write to a bad file
descriptor -- because of this:
fd2 = open(out_elf, O_CREAT|O_RDWR, S_IRUSR|S_IWUSR);
if (!fd2) {
error(INFO, "%s open error\n", out_elf);
goto end1;
}
It should be "if (fd2 < 0)".
Thanks. The corrected patch is attached.
I should have been more clear w/respect to "a temporary
file".
what I was suggesting was that you do something like using
mkstemp(3) to create a temporay file in /var/tmp, and then
unlink() it immediately so it would only exist until the crash
session ends.
Done.
So I'm guessing that this dumpfile was taken before the
"init" task was even
created, and the kernel data structures were not fully initialized?
That's possible. IIRC, because of some issue with the setup, I had to
stop execution and get the ramdump before the ramdisk was mounted.
Maybe you can try taking a RAM dump on an ARM64 machine after
it is up and running?
Unfortunately I don't have access to any arm64 machines. I am not sure
when I can get one.
Thanks,
Vinayak