Understanding disassembly x86 + understanding function call + parameter pass and stack frame
From: nidhi mittal hada <hidden>
Date: 2013-08-13 12:17:56
On Mon, Aug 12, 2013 at 8:37 PM, amit mehta [off-list ref] wrote:
On Mon, Aug 12, 2013 at 5:28 PM, nidhi mittal hada [off-list ref] wrote:quoted
Questions:- 1)Which memory address in stack contains struct super_block *s 2)how does disassembly helps in knowing which register contain the struct super_block *s 3)bt -f gives highlighted above, register dump at the end, does thathelp inquoted
finding this information ???Have you *actually* spent your time on reading the AMD 64ABI [1] ? Also there is a very nice and concise document available on x86_64 assembly [2]. While trying to analyse kernel crash dump using 'crash', utility you might want to refer this page [1] and this blog [4] as well. [1] http://www.uclibc.org/docs/psABI-x86_64.pdf [2] www.cs.cmu.edu/~fp/courses/15213-s07/misc/asm64-handout.pdf [3] http://people.redhat.com/~anderson/ [4] http://www.sungju.org/?p=1166 !!amit
*Thats my system on which ran crash tool*
[nidhi at raw ~]$ uname -a
Linux raw.ind.hp.com 2.6.32-220.el6.hpsp16k1.x86_64 #1 SMP Mon Nov 19
17:07:07 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
*thats the information of coredump file:-*
KERNEL: vmlinux
DUMPFILE: vmcore.1 [PARTIAL DUMP]
CPUS: 8
DATE: Mon Jun 11 09:10:59 2012
UPTIME: 13 days, 22:39:30
LOAD AVERAGE: 83.88, 62.23, 30.30
TASKS: 393
NODENAME: million.ind.hp.com
RELEASE: 2.6.32-220.el6.hpsp16k1.x86_64
VERSION: #1 SMP Mon Nov 19 17:07:07 UTC 2012
MACHINE: x86_64 (2132 Mhz)
MEMORY: 96 GB
PANIC: "Kernel panic - not syncing: Watchdog detected hard LOCKUP on
cpu 4"
PID: 26715
COMMAND: "mount.*******"
TASK: ffff8817dd4de0c0 [THREAD_INFO: ffff8802c3f80000]
CPU: 4
STATE: TASK_UNINTERRUPTIBLE (PANIC)
Thank you very very much .. *It was so helpful what Tobias and amit
explained.*
I actually skipped AMD64 ABI considering its for AMD architecture and mine
was
x86_64 .. my mistake !!
i read from wikipedia x86 calling convention link.
What i read was that all function arguments should be on stack .. thats
where i was wrong....!!!
I read that on x86_64 arg are pushed from right to left ..which also seems
wrong now..
Now i m finding AMD 64ABI is the thing to be read for understanding this
crash output.
Thanks a lottt
Nidhi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130813/a27674f6/attachment.html